// 模拟数据
const uploadData = [
    {
        id: 1,
        title: '京剧脸谱绘制技法',
        userName: '张艺谋',
        category: '传统戏剧/京剧',
        type: 'video',
        description: '详细介绍京剧脸谱的传统绘制技法，包括不同角色的脸谱特点...',
        materials: [
            { name: '脸谱绘制视频.mp4', url: 'https://example.com/videos/1.mp4' },
            { name: '脸谱样例1.jpg', url: 'https://example.com/images/1-1.jpg' },
            { name: '脸谱样例2.jpg', url: 'https://example.com/images/1-2.jpg' }
        ],
        status: 'approved',
        createTime: '2023-05-15 14:30:22'
    },
    {
        id: 2,
        title: '苏绣针法',
        userName: '李子柒',
        category: '传统技艺',
        type: 'photo',
        description: '传统苏绣的各种针法展示与讲解...',
        materials: [
            { name: '苏绣图片1.jpg', url: 'https://example.com/images/suxiu1.jpg' },
            { name: '苏绣图片2.jpg', url: 'https://example.com/images/suxiu2.jpg' }
        ],
        status: 'rejected',
        createTime: '2023-05-16 09:15:33'
    },
    {
        id: 3,
        title: '蒙古长调民歌',
        userName: '张艺谋',
        category: '传统音乐',
        type: 'audio',
        description: '蒙古长调民歌的演唱技巧与特点...',
        materials: [
            { name: '长调民歌音频1.mp3', url: 'https://example.com/audios/longsong1.mp3' }
        ],
        status: 'pending',
        createTime: '2023-05-17 10:20:45'
    }
]

// 模拟获取用户上传列表
export const getUserUploadedList = async (params) => {
    const { page = 1, size = 10, status, category, keyword } = params

    // 筛选数据
    let filteredData = [...uploadData]
    if (status) {
        filteredData = filteredData.filter(item => item.status === status)
    }
    if (category) {
        filteredData = filteredData.filter(item => item.category.includes(category))
    }
    if (keyword) {
        filteredData = filteredData.filter(item =>
            item.title.includes(keyword))
    }

    // 分页
    const start = (page - 1) * size
    const end = start + size
    const paginatedData = filteredData.slice(start, end)

    return new Promise(resolve => {
        setTimeout(() => {
            resolve({
                code: 200,
                data: {
                    list: paginatedData,
                    total: filteredData.length
                }
            })
        }, 500)
    })
}

// 模拟获取上传详情
export const getUserUploadDetail = async (id) => {
    return new Promise(resolve => {
        setTimeout(() => {
            const upload = uploadData.find(item => item.id === id)
            resolve({
                code: 200,
                data: upload || null
            })
        }, 300)
    })
}

// 模拟删除上传项目
export const deleteUpload = async (id) => {
    return new Promise((resolve, reject) => {
        setTimeout(() => {
            const index = uploadData.findIndex(item => item.id === id)
            if (index !== -1) {
                uploadData.splice(index, 1)
                resolve({ code: 200, message: '删除成功' })
            } else {
                reject(new Error('删除失败'))
            }
        }, 300)
    })
}
//
// // 模拟提交上传项目（这个函数在上面的前端代码中没有调用，只是作为示例）
// export const submitUpload = async (formData) => {
//     return new Promise(resolve => {
//         setTimeout(() => {
//             resolve({ code: 200, message: '提交成功' })
//         }, 800)
//     })
// }
// // api.js
// // src/api/uploadApi.js
// import axios from 'axios';
//
// // 创建axios实例
// const service = axios.create({
//     baseURL: 'http://127.0.0.1:8089', // 后端地址
//     timeout: 5000, // 超时时间
// });
// service.interceptors.request.use(
//     config => {
//         if (config.method === 'get') {
//             config.params = {
//                 ...config.params,
//                 _t: Date.now(), // 防止GET缓存
//             };
//         }
//         return config;
//     },
//     error => {
//         return Promise.reject(error);
//     }
// );
//
// // 响应拦截器
// service.interceptors.response.use(
//     response => {
//         return response.data; // 返回响应数据
//     },
//     error => {
//         return Promise.reject(error);
//     }
// );
//
// /**
//  * 获取用户上传列表
//  * @param {Object} params 查询参数
//  * @param {number} params.page - 当前页码
//  * @param {number} params.size - 每页数量
//  * @param {string} [params.status] - 筛选状态
//  * @param {string} [params.category] - 分类筛选
//  * @param {string} [params.keyword] - 关键词搜索
//  */
// export const getUserUploadedList = async (params) => {
//     try {
//         const response = await service.get('/uploads', { params });
//         return {
//             code: 200,
//             data: {
//                 list: response.data,
//                 total: response.data.length
//             }
//         };
//     } catch (error) {
//         console.error('获取列表失败:', error.response?.data || error.message);
//         return {
//             code: 500,
//             data: {
//                 list: [],
//                 total: 0
//             }
//         };
//     }
// };
//
// /**
//  * 获取上传详情
//  * @param {number} id - 资源ID
//  */
// export const getUserUploadDetail = async (id) => {
//     try {
//         const response = await service.get(`/uploads/${id}`);
//         return {
//             code: 200,
//             data: response
//         };
//     } catch (error) {
//         return {
//             code: error.response?.status || 404,
//             message: '资源不存在'
//         };
//     }
// };
//
// /**
//  * 删除上传项目
//  * @param {number} id - 资源ID
//  */
// export const deleteUpload = async (id) => {
//     try {
//         await service.delete(`/uploads/${id}`);
//         return {
//             code: 200,
//             message: '删除成功'
//         };
//     } catch (error) {
//         return {
//             code: error.response?.status || 500,
//             message: '删除失败'
//         };
//     }
// };
//
// /**
//  * 提交上传项目
//  * @param {Object} formData - 表单数据
//  * @param {string} formData.title - 标题
//  * @param {string} formData.userName - 用户名
//  * @param {string} formData.category - 分类
//  * @param {string} formData.type - 类型（video/photo/audio）
//  * @param {string} formData.description - 描述
//  * @param {Array} formData.materials - 材料列表
//  */
// export const submitUpload = async (formData) => {
//     try {
//         const response = await service.post('/uploads', {
//             ...formData,
//             status: 'pending', // 初始状态设为待审核
//             createTime: new Date().toISOString()
//         });
//
//         return {
//             code: 201,
//             data: response,
//             message: '提交成功'
//         };
//     } catch (error) {
//         return {
//             code: error.response?.status || 500,
//             message: '提交失败'
//         };
//     }
// };
